package bma.common.langutil.xdom.core;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import bma.common.langutil.xdom.Xdom;
import bma.common.langutil.xdom.XdomType;

public class XdomArray extends Xdom {

	private List<Xdom> value;

	public XdomArray() {
		super();
		this.value = new ArrayList<Xdom>();
	}

	public XdomArray(List<Xdom> v) {
		super();
		value = v;
	}

	public List<Xdom> getValue() {
		return value;
	}

	public void setValue(List<Xdom> value) {
		this.value = value;
	}
	
	public void addValue(Xdom v) {
		this.value.add(v);
	}

	@Override
	public XdomType type() {
		return XdomType.ARRAY;
	}

	@Override
	public int size() {
		return value.size();
	}

	@Override
	public Xdom get(int index) {
		if (!has(index)) {
			return XdomNULL.NULL;
		}
		return value.get(index);
	}

	public Iterator<Xdom> arrayIterator() {
		return value.iterator();
	}
}
